package chap1_4;

import java.io.File;

/**
 * @author https://gitee.com/W_Jun
 * @version 1.0
 * @Description  File类的判断和获取功能演示
 */
public class FileDemo04 {
    public static void main(String[] args) {
        File f = new File("chapter01-File类\\src\\chap1_4\\FileDemo04.java");
        //public boolean isDirectory() | 测试此抽象路径名表示的File是否为目录
        //public boolean isFile() | 测试此抽象路径名表示的File是否为文件
        //public boolean exists() | 测试此抽象路径名表示的File是否存在
        System.out.println(f.isDirectory());
        System.out.println(f.isFile());
        System.out.println(f.exists());
        System.out.println("---------------");

        //public String getAbsolutePath() | 返回此抽象路径名的绝对路径名字符串
        //public String getPath() | 将此抽象路径名转换为路径名字符串
        //public String getName() | 返回由此抽象路径名表示的文件或目录的名称
        System.out.println(f.getAbsoluteFile());
        System.out.println(f.getPath());
        System.out.println(f.getName());
        System.out.println("---------------");

        //public String[] list()  | 返回此抽象路径名表示的目录中的文件和目录的名称字符串数组
        //public File[] listFiles() | 返回此抽象路径名表示的目录中的文件和目录的File对象数组
        File f2 = new File("D:\\project");
        String[] strArray = f2.list();//字符串数组
        for (String str : strArray) {
            System.out.println(str);
        }
        System.out.println("---------------");
        File[] fileArray = f2.listFiles();//File数组
        for (File file : fileArray) {
            //System.out.println(file);//输出绝对路径
            //System.out.println(file.getName());//输出结果和list的遍历一样，类型不同，是File类型
            //因为file是File类型，所以可以调用File的方法
            if (file.isFile()) {
                System.out.println(file.getName());
            }
        }
    }
}
